home *** CD-ROM | disk | FTP | other *** search
/ Aminet 1 (Walnut Creek) / Aminet - June 1993 [Walnut Creek].iso / aminet / text / misc / nenscript1_3.lha / font_lis.c < prev    next >
C/C++ Source or Header  |  1992-10-01  |  2KB  |  69 lines

  1. /*
  2.  *   $Id: font_lis.c,v 1.2 1992/10/02 01:02:32 craigs Exp $
  3.  *
  4.  *   This code was written by Craig Southeren whilst under contract
  5.  *   to Computer Sciences of Australia, Systems Engineering Division.
  6.  *   It has been kindly released by CSA into the public domain.
  7.  *
  8.  *   Neither CSA or me guarantee that this source code is fit for anything,
  9.  *   so use it at your peril. I don't even work for CSA any more, so
  10.  *   don't bother them about it. If you have any suggestions or comments
  11.  *   (or money, cheques, free trips =8^) !!!!! ) please contact me
  12.  *   care of geoffw@extro.ucc.oz.au
  13.  */
  14.  
  15. #include "machdep.h"
  16. #include "defs.h"
  17.  
  18. #include "font_lis.h"
  19. #include "main.h"
  20.  
  21. /********************************
  22.   defines
  23.  ********************************/
  24.  
  25. struct font_name_struct {
  26.   char               * name;
  27.   struct font_name_struct * next;
  28. };
  29.  
  30. struct font_name_struct * font_list = NULL;
  31.  
  32. /********************************
  33.  enumerate_fonts
  34.  ********************************/
  35.  
  36. void enumerate_fonts (stream)
  37.  
  38. FILE *stream;
  39.  
  40. {
  41.   struct font_name_struct * p;
  42.  
  43.   for (p = font_list;p != NULL; p = p->next)
  44.     fprintf (stream, "%s ", p->name);
  45. }
  46.  
  47. /********************************
  48.  add_font_to_list
  49.  ********************************/
  50.  
  51. void add_font_to_list (fontname)
  52.  
  53. char *fontname;
  54.  
  55. {
  56.   struct font_name_struct * p;
  57.  
  58.   /* make sure there is no font with this name */
  59.   for (p = font_list;p != NULL; p = p->next)
  60.     if (strcmp (fontname, p->name) == 0)
  61.       return;
  62.  
  63.   /* insert new font record at the start of the list */
  64.   p = (struct font_name_struct *)malloc (sizeof (struct font_name_struct));
  65.   p->name = STRDUP (fontname);
  66.   p->next = font_list;
  67.   font_list = p;
  68. }
  69.